PolyGone II by Jim Mack PolyGone II is a revised and updated version of the PolyGone program I originally wrote for VB1 in late 1991. This one was written in VB2, and the EXE requires VBRUN200, but the source is compatible with later versions as well. PolyGone II is not copyrighted, and is free for your enjoyment. Its sole purpose is to amuse and divert. You're encouraged to play with the code, and if you come up with any interesting variations, please pass them back to me. This version adds the ability to control a few of the drawing and erasing parameters, and offers several optional erasure patterns. ----------------------------------------------------------------------- To get to the parameters, DOUBLE-click on the PolyGone II form (single-click simply clears the form). ----------------------------------------------------------------------- The parameters (and the form's location and size) are saved in POLYGONE.INI, which will be located in the same directory as the EXE. Because we look -only- in App.Path for the INI, if you compile the program to a directory other than the one where VB.EXE is located, you'll wind up with two copies of the INI file... no big deal. For the most part the parameters are self-explanatory, and there's nothing you can hurt by just fooling around. The Erase Options control how, and how often, the screen is erased. Erasing every so often help avoid too much screen clutter. The original version always erased the screen by drawing a large, dense polygon in the form's background color. This option is still available, and is listed as the last choice, "Sweep". It's off by default. When an option is checked, it will be among the methods from which the next erasure is randomly chosen. The text boxes "Allow After" and "Force After" show the number of polygons which can accumulate before an erase. "Force" should be higher than "Allow"... when the number is greater than Allow, but less than Force, the screen may be erased at any time. Once it gets to Force, it will be erased regardless. The "Sparkles" box selects whether each erased region is first cleared to White, then to Black. Its effect is most obvious on the Random erase, but it does affect the other patterns too, except for Sweep (the large dense polygon) and Snap (which is just a simple CLS). The Draw options mostly control how quickly the polygons draw (Line Delay), and how much time elapses between polygons (Draw Delay). On a relatively slow (386/20) machine, these can be set very low, or to zero. On faster machines you'll probably want to set Line Delay to something like 30-100 and Draw Delay to 1000-9000. These are arbitrary units and have no relation to clock ticks, microseconds, etc, and higher values mean more delay. If the "Draw In Order" selection is checked, the lines forming the polygons will always be drawn in anticlockwise fashion, seeming to 'circle around' as they draw. Otherwise, the connecting lines are drawn in a random order, with in-order drawing one of the random events. The "Thick Below" text box determines which polygons are drawn with thick lines. The unit here is the 'order' of the polygon... how many vertices it has. Normally, the line width is 1 pixel for all orders of polygon. You can choose 2-pixel lines for the lower-order polygons by selecting a value here. Again, you may find that for slower machines you want to set this value to a low number, say 4 to 6, and for faster machines a larger value may be better. You probably don't want to draw all thick lines, since higher-order polygons will be too dense. Have fun, and if you have any questions or comments, please feel free to contact me on CIS at 76630,2012, on Bix or America Online as "jsmack" and via Internet at 76630.2012@compuserve.com. I really would like to hear from anyone who makes a change (such as designing a new Erase method, etc).